//2.配置基础路径
// axios.defaults.baseURL="/api"
axios.defaults.baseURL="http://localhost:8080"
//3.axios配置给Vue对象
Vue.prototype.$http=axios

//1 使用axios前置拦截器，让所有的请求都携带uToken
axios.interceptors.request.use(config=>{
    //从localStorage中获取token
    let uToken =  localStorage.getItem("token");
    if(uToken){
        //将token添加到请求头
        config.headers['U-TOKEN']=uToken;
    }
    return config;
},error => {
    Promise.reject(error);
})

//2 使用axios后置拦截器，处理没有登录请求
axios.interceptors.response.use(result=>{
    let data = result.data;//{success:false,msg:noLogin}
    if(!data.success && data.msg==="noLogin") {//如果后端响应未登录
        location.href = "login.html";//跳转到登录界面
    }
    return result;
},error => {
    Promise.reject(error);
})

/*
* 手搓路由拦截器
* 1.判断是否是去的登录或注册页面
* 2.是 移除登录信息
* 3.不是
*   检查是否有登录信息
*       没有 跳转到登录页面
* */

let url = location.href; //127.0.0.1/login.html;  indexOf()返回传入的字符串在给定字符串中的起始下标 如果没有查到 就返回-1
if (url.indexOf("login.html") > -1 || url.indexOf("register.html") > -1 || url.indexOf("callback.html") > -1 || url.indexOf("binder.html") > -1){//去登录注册页面 移除登录信息
    localStorage.removeItem('token');
    localStorage.removeItem('logininfo');
}


if(url.indexOf("login.html") == -1 && url.indexOf("register.html") == -1 && url.indexOf("callback.html") == -1 && url.indexOf("binder.html") == -1){//如果不是去登录页面 也不是去注册页面 检查是否有登录信息
    let token = localStorage.getItem("token");
    if (!token){//如果没有 就跳转到登录页面
        location.href = "login.html"
    }
}

// let URL = "http://www.baidu.com?name=张三&age=25&sex=男&wife=小红"
function parseUrlParams2Obj(url) {
    // 通过 ? 分割获取后面的参数字符串
    let urlStr = url.split('?')[1]//  name=张三&age=25&sex=男&wife=小红
    // 创建空对象存储参数
    let obj = {};
    // 再通过 & 将每一个参数单独分割出来
    let paramsArr = urlStr.split('&') // [name=张三,age=25]
    for(let i = 0,len = paramsArr.length;i < len;i++){
        // 再通过 = 将每一个参数分割为 key:value 的形式
        let arr = paramsArr[i].split('=')// [name,张三]
        obj[arr[0]] = arr[1];
    }
    return obj
}





